package com.br.rh.dao;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import com.br.rh.vo.PlanoCargo;
import com.br.rh.vo.Profissional;


public class ProfissionalDAO extends DataUtils {
	public List<Profissional> getAll(){
		List<Profissional> lista = new ArrayList<Profissional>();
		try {
			Connection conn = getConnection();
			PreparedStatement stmt = conn.prepareStatement("select " +
					"p.codigo," +
					"p.contratacao," +
					"p.setor," +
					"p.ctps," +
					"p.data_admissao_clt," +
					"p.cargo," +
					"p.departamento," +
					"p.salario_aux_moradia," +
					"pc.plano_caro_salario," +
					"pc.ocupacao from profissional p,plano_cargo pc where p.pcs = p.codigo;");
			ResultSet rs = stmt.executeQuery();
			Profissional profissional;
			PlanoCargo planoCargo;
			while(rs.next()){
				profissional = new Profissional();
				planoCargo = new PlanoCargo();
				profissional.setCodigo(rs.getInt(1));
				profissional.setContratacao(rs.getDate(2));
				profissional.setSetor(rs.getString(3));
				profissional.setCtps(rs.getInt(4));
				profissional.setDataAdmissaoClt(rs.getDate(5));
				profissional.setCargo(rs.getString(6));
				profissional.setDepartamento(rs.getString(7));
				profissional.setSalarioAuxMoradia(rs.getString(8));
				planoCargo.setPlanoCargoSalario(rs.getString(9));
				planoCargo.setOcupacao(rs.getString(10));
				profissional.setPlanoCargo(planoCargo);
				lista.add(profissional);
				
			}
		} catch (ClassNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (SQLException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return lista;
	}
}
